package com.itnoob.pay.impl;

import com.itnoob.domain.Order;
import com.itnoob.pay.OrderState;

/**
 * 定义一个具体的订单状态类,表示已支付状态
 * @author zhoujun
 * @date 2025/3/19 22:02
 */
public class PaidState implements OrderState {

    @Override
    public void pay(Order order) {
        System.out.println("订单已经支付,不能再次支付.");
    }

    @Override
    public void ship(Order order) {
        //已经支付状态下可以发货
        System.out.println("订单已经发货.");
        order.setOrderState(new ShippedState());
    }

    @Override
    public void receive(Order order) {
        //已经支付状态下,还没有发货,不能收货
        System.out.println("已经支付状态下,还没有发货,不能收货");
    }
}
